#ifndef SINGLE_USER_PLAY_STATE
#define SINGLE_USER_PLAY_STATE

#include <vector>

#include "PlayState.h"
#include "GameSession.h"
#include "ReplayController.h"
/*
 * Class to handle the playstate when playing in quick play mode
 */
class SingleUserPlayState : public PlayState
{
public:
    SingleUserPlayState();
    void setSession(GameSession *session_) { session = session_; }
    virtual bool keyPressed(const OIS::KeyEvent &);

protected:
    virtual void initialisePlayers();
    virtual void startPlaying();
    virtual void stopPlaying();
    virtual bool ogreNewtNeedsUpdate();
    virtual float getOgreNewtUpdateTime();
    virtual void setStopPlaying();
    virtual void playerFallout();
    
private:
    float desired_update_time;
    // Keep a pointer to the session, to allocate to player
    GameSession *session;
    bool GHOST_ON;
    ReplayController *ghost_controller;
    std::string ghost_file;
};

#endif
